Hybris Sales UX API icon

Hybris Sales UX API

(0 reviews)

GET Serviceability (TMF645)

Query Service Qualification is used to retrieve a list of service eligible in a given request provided by requester (via searchCriteria).

URL

https://[localhost]:[port]/ecom-sales-ux/v1/{businessId}/queryServiceQualification

URL Params

nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
businessIdstring2 letter ISO 3166 country code (PA) identifying the business unit.Y

Headers

nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
client_idstringThe client_id identifying the channel.Y
client_secretstringPassword associated with the client_id.Y
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.Y
channelIdstringDefalut value : ECOMC/M
lobstringDefines line of business. Example: "FIXED"N

Query Params

nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
offsetIntegerthe starting point of the page to be searched (number of records to be skipped).N(JM, PA, CR, PR,CL)
limitIntegerDefines the number of records to be retrieved.N(JM, PA, CR, PR,CL)
searchCriteriaObjectValue will be JSON object with URL encoding. All fields are optional in a JSON object.Y(JM, PA, CR, PR,CL)

Data Model - Response

field nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
idstringUnique identifier of the serviceQualification resourceY(CL),N/A(PA,CR,JM,PR)
instantSyncQualificationbooleanAn indicator which when the value is "true" means that requester expects to get qualifcation result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201.Y(PA,CR,JM,PR,CL)
queryServiceQualificationDatedatetimeDate when the serviceQualification was submittedY(PA,CR,JM,PR,CL)
searchCriteriaobjectA ServiceQualificationItem relates to a specific service being checked in a qualification operation.Y(PA,CR,JM,CL),N/A(PR)
searchCriteria.serviceobjectA Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itselfY(PA,CR,JM,CL),N/A(PR)
searchCriteria.service.place[]arrayA list of places (Place [*]). Used to define a place useful for the service (for example a geographical place whre the service is installed)Y(PA,CR,JM,CL),N/A(PR)
searchCriteria.service.place[].geographicLocationRefOrValueobjectA GeographicLocation allows describing through coordinate(s) a point, a line or a spaceY(PA,CR,JM,CL),N/A(PR)
searchCriteria.service.place[].geographicLocationRefOrValue.'@type'stringIndicates the type of the resource.Y(PA,CR,JM,CL),N/A(PR)
searchCriteria.service.place[].geographicLocationRefOrValue.geometry[]arrayusually latitude and longitudeY(PA,CR,JM,CL),N/A(PR)
searchCriteria.service.place[].geographicLocationRefOrValue.geometry[].xstringx coordinate (usually latitude)Y(PA,CR,JM,CL),N/A(PR)
searchCriteria.service.place[].geographicLocationRefOrValue.geometry[].ystringy coordinate (usually longitude)Y(PA,CR,JM,CL),N/A(PR)
serviceQualificationItem[]arrayA list of service qualification items.Y(PA,CR,JM,PR,CL)
serviceQualificationItem[].idstringId of the Service Qualification ItemY(PA,CR,JM,PR),N/A(CL)
serviceQualificationItem[].expectedServiceAvailabilityDatedatetimeDate when the requester looks for service availabilityN(PA,CR,PR),N/A(CL,JM)
serviceQualificationItem[].categoryobjectThe (service) category resource is used to group service candidates in logical containers. Categories can contain other categories.Y(PA,CR),N/A(CL,PR,JM)
serviceQualificationItem[].category.idstringunique identifierY(PA,CR),N/A(CL,PR,JM)
serviceQualificationItem[].category.namestringName of the related entity.Y(PA),N(CR),N/A(CL,PR,JM)
serviceQualificationItem[].category.'@referredType'stringThe actual type of the target instance when needed for disambiguation.Y(PA),N(CR),N/A(CL,PR,JM)
serviceQualificationItem[].serviceobjectA Service to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Service entity and not the RelatedServiceRefOrValue class itselfY(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.isServiceEnabledbooleanIf FALSE and hasStarted is FALSE, this particular Service has NOT been enabled for use - if FALSE and hasStarted is TRUE then the service has failedY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.serviceTypestringBusiness type of the serviceY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.startDatedatetimeDate when the service startsY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.startModestringThis attribute is an enumerated integer that indicates how the Service is started, such as: 0: Unknown; 1: Automatically by the managed environment; 2: Automatically by the owning device; 3: Manually by the Provider of the Service; 4: Manually by a Customer of the Provider; 5: Any of the aboveY(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.feature[]arrayA list of feature associated with this serviceY(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.feature[].namestringThis is the name for the feature.Y(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.feature[].featureCharacteristic[]arrayThis is a list of Characteristics for a particular feature.Y(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.feature[].featureCharacteristic[].namestringName of the characteristicY(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.feature[].featureCharacteristic[].valueanyValue of the characteristicY(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.serviceCharacteristic[]arrayA list of characteristics that characterize this service (ServiceCharacteristic [*])Y(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.serviceCharacteristic[].namestringName of the characteristicY(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.serviceCharacteristic[].valueanyValue of the characteristicY(PA,CR,JM,PR,CL)
serviceQualificationItem[].service.place[]arrayA list of places (Place [*]). Used to define a place useful for the service (for example a geographical place where the service is installed)Y(PA,PR,CL),N(JM),N/A(CR)
serviceQualificationItem[].service.place[].idstringUnique identifier of the placeY(PR,CL),N(JM,PA,CR)
serviceQualificationItem[].service.place[].namestringName of the placeN(JM),N/A(PA,CR,PR,CL)
serviceQualificationItem[].service.place[].streetNamestringName of the street or other street typeY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].postcodestringDescriptor for a postal delivery area, used to speed and simplify the delivery of mail (also known as zipcode)Y(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].localitystringAn area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi-rural in nature.Y(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].citystringCity that the address is inY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].stateOrProvincestringThe State or Province that the address is inY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].countrystringCountry that the address is inY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].@typestringWhen sub-classing, this defines the sub-class Extensible nameY(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.place[].geographicLocationRefOrValueobjectA GeographicLocation allows describing through coordinate(s) a point, a line or a spaceY(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.place[].geographicLocationRefOrValue.'@type'stringIndicates the type of resourceY(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.place[].geographicLocationRefOrValue.geometry[]arrayusually latitude and longitudeY(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.place[].geographicLocationRefOrValue.geometry[].xstringx coordinate (usually latitude)Y(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.place[].geographicLocationRefOrValue.geometry[].ystringy coordinate (usually longitude)Y(CL,PR),N/A(PA,CR,JM)
serviceQualificationItem[].service.place[].geographicSubAddress[]arrayIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building.Y(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].geographicSubAddress[].idstringUnique Identifier of the subAddressY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].geographicSubAddress[].typestringType of subAddress : it can be a subunit or a private streetY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].geographicSubAddress[].namestringName of the subAddress to identify it with a meaningful identificationY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].geographicSubAddress[].'@type'stringType of the resource for this subAdressY(CL),N/A(PA,CR,JM,PR)
serviceQualificationItem[].service.place[].GeographicAddress[]arraysearch criteria payload for querying list of Addresses.Y(PA),N/A(CL,CR,JM,PR)
serviceQualificationItem[].service.place[].GeographicAddress[].idstringUnique Identifier of the AddressY(PA),N/A(CL,CR,JM,PR)
serviceQualificationItem[].service.place[].GeographicAddress[].'@type'stringWhen sub-classing, this defines the sub-class Extensible nameY(PA),N/A(CL,CR,JM,PR)
serviceQualificationItem[].service.statestringValid values for the lifecycle state of the service.
[ feasibilityChecked, designed, reserved, inactive, active, terminated ]
Y(PA,CR,JM,PR,CL)
statestringPossible values for the state of a task
[ accepted, terminatedWithError, inProgress, done ]
Y(PA,CR,JM,PR,CL)
searchCriteria.service.place[] subResource - dataModel
geographicLocationRefOrValue.@typetypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
GeographicLocationstringGeographic Location(latitude and longitude)Y (PA,JM,CR,CL), N/A(PR){
"geographicLocationRefOrValue": {
"@type": "GeographicLocation",
"geometry": [
{
"x": "8.985186",
"y": "79.508666"
}]}}
serviceQualificationItem[].service.feature[].featureCharacteristic[] subResource - dataModel
nametypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
prioritystringCommercial PriorityN (PA,JM,CR),N/A(CL,PR){
"name": "priority",
"value": "1"
}
polygonIdstringPolygon IDN(PA,JM,CR),N/A(CL,PR){
"name": "polygonId",
"value": 1275
}
namestringNameN(PA,JM,CR),N/A(CL,PR){
"name": "name",
"value": "SFG-037-001"
}
msanIdstringMulti-Service Access Node (MSAN) IdN(JM),N/A(CL,CR,PR,PA){
"name": "msanId",
"value": "WESX"
}
addressClassstringLocation classsN(PA,CR),N/A(JM,CL,PR){
"name": "addressClass",
"value": null
}
netModeHfcstringnetwork mode for HFCN(PA,JM,CR),N/A(CL,PR){
"name": "netModeHfc",
"value": null
}
oltIdstringOLT IDN(PA,CR),N/A(CL,PR,JM){
"name": "oltId",
"value": "PAN-PEN-LPT-PHM002"
}
fatIdJMthe identifier for a FAT (Fiber Access Terminal)N(PA,JM,CR),N/A(CL,PR){
"name": "fatId",
"value": ""
}
globalIdstringGlobal IdN(PA,JM,CR),N/A(CL,PR){
"name": "globalId",
"value": "{1D0A81BB-09AF-4B16-8336-781159DA8750}"
}
shapeLengthstringLength of shapeN(PA,JM,CR),N/A(CL,PR){
"name": "shapeLength",
"value": 0.007319597029758025
}
folderpathstringfolder pathN(PA,CR),N/A(CL,PR,JM){
"name": "folderpath",
"value": ""
}
FDHstringFiber Distribution Hub aka CabinetN(PA,CR),N/A(CL,PR,JM){
"name": "FDH",
"value": "SFG-037"
}
FDPstringFiber Distribution Point, aka NAP, aka TerminalN(PA,JM,CR),N/A(CL,PR){
"name": "FDP",
"value": "26560}
HUBstringnetworking deviceN(PA,JM,CR),N/A(CL,PR){
"name": "HUB",
"value": " "
}
segmentostringCustomer segmentN(PA),N/A(CL,CR,PR,JM){
"name": "segmento",
"value": " "
}
projectstringprojectN(PA),N/A(CL,CR,PR,JM){
"name": "project",
"value": " "
}
building_nstringbuilding networkN(PA),N/A(CL,CR,PR,JM){
"name": "building_n",
"value": " "
}
distribucistringDistribution NetworkN(PA),N/A(CL,CR,PR,JM){
"name": "distribuci",
"value": " "
}
tipostringtypeN(PA),N/A(CL,CR,PR,JM){
"name": "tipo",
"value": " "
}
centralTelefonicastringTelephone ExchangeN(PA),N/A(CL,CR,PR,JM){
"name": "centralTelefonica",
"value": "SFG"
}
feat_typestringfeature typeY(PA),N/A(CL,CR,PR,JM){
"name": "feat_type",
"value": "Address"
}
node_statusstringstate of a network nodeN(JM),N/A(CL,CR,PR,PA){
"name": "node_status",
"value": "E"
}
cab_combostringCabinet CombinationN(JM),N/A(CL,CR,PR,PA){
"name": "cab_combo",
"value": "WSGFDH78"
}
nodestringCluster of contiguous home passedN(PA,CR,JM,CL),N/A(PR){
"name": "node",
"value": "JM-00-209"
}
returnTypestringmode of transmissionN(CL),N/A(JM,CR,PR,PA){
"name": "returnType",
"value": "FULLDUPLEX"
}
subNodestringLogical division of Node, e.g: 4 subnodes per nodeN(CL),N/A(JM,CR,PR,PA){
"name": "subNode",
"value": "1"
}
napIdstringidentifier for a NAP(Network Access Point)N(CL),N/A(JM,CR,PR,PA){
"name": "napId",
"value": "OVAL-025-001"
}
napLocationstringlocation of a NAP(Network Access Point)N(CL),N/A(JM,CR,PR,PA){
"name": "napLocation",
"value": "XXXX"
}
serviceQualificationItem[].service.feature[] subResource - dataModel
nametypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
TVstringTelevisionN(PR),N/A(JM,CR,CL,PA){
"name": "TV",
"featureCharacteristic": [
{
"name": "Status",
"value": "NEVER"
}]}
INTERNETstringInternetN(PR),N/A(JM,CR,CL,PA){
"name": "INTERNET",
"featureCharacteristic": [
{
"name": "Status",
"value": "NEVER"
}]}
VOICEstringVoiceN(PR),N/A(JM,CR,CL,PA){
"name": "VOICE",
"featureCharacteristic": [
{
"name": "Status",
"value": "NEVER"
}]}
1GB_offerstringdata offerN(PR),N/A(JM,CR,CL,PA){
"name": "1GB_offer",
"featureCharacteristic": [
{
"name": "Status",
"value": ""
} ]}
serviceQualificationItem[].service.serviceCharacteristic[] subResource - dataModel
nametypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
tvTypestringTV Technology TypeN(PA,JM,CR),N/A(CL,PR){
"name": "tvType",
"value": "IPTV"
}
voiceTypestringVoice Technology TypeN(PA,JM,CR),N/A(CL,PR){
"name": "voiceType",
"value": "TOIP"
}
broadBandTypestringBroadband Technology TypeN(PA,JM,CR),N/A(CL,PR){
"name": "broadBandType",
"value": "GPON"
}
bbMaxUploadSpeedstringUpload Speed for InternetN(PA,JM,CR),N/A(CL,PR){
"name": "bbMaxUploadSpeed",
"value": 1000
}
bbMaxDownLoadSpeedstringDownload Speed for InternetN(PA,JM,CR),N/A(CL,PR){
"name": "bbMaxDownLoadSpeed",
"value": 1000
}
commercialStatusstringCommercial StatusN(CL),N/A(JM,CR,PR,PA){
"name": "commercialStatus",
"value": "Y"
}
addressStatusstringAddress StatusN(CL),N/A(JM,CR,PR,PA){
"name": "addressStatus",
"value": "ACTIVE"
}
isNodeCapacityFullstringNode is to serve any new addressN(CL),N/A(JM,CR,PR,PA){
"name": "isNodeCapacityFull",
"value": "N"
}
networModestringMode of networkN(CL),N/A(JM,CR,PR,PA){
"name": "networMode",
"value": "FUDIG"
}
isRedZonestringRed ZoneN(CL),N/A(JM,CR,PR,PA){
"name": "isRedZone",
"value": "Y"
}
frequencystringfrequencyN(CL),N/A(JM,CR,PR,PA){
"name": "frequency",
"value": "GPON"
}
technicianAvailabilityBucketstringTechnician Availability BucketN(CL),N/A(JM,CR,PR,PA){
"name": "technicianAvailabilityBucket",
"value": "xxxx"
}
existingServiceNamestringExisting Service NameN(CL),N/A(JM,CR,PR,PA){
"name": "existingServiceName",
"value": "SISE"
}
isUpfrontPaymentReqstringupfront paymentN(CL),N/A(JM,CR,PR,PA){
"name": "isUpfrontPaymentReq",
"value": "N"
}
socioEconomicGroupstringsocial and economic GroupN(CL),N/A(JM,CR,PR,PA){
"name": "socioEconomicGroup",
"value": "xxxx"
}
offerCodestringoffer CodeN(CL),N/A(JM,CR,PR,PA){
"name": "offerCode",
"valueType": "string",
"value": "xxxx"
}
networkSegmentstringNetwork SegmentN(CL),N/A(JM,CR,PR,PA){
"name": "networkSegment",
"valueType": "string",
"value": "xxxx"
}
subtelCommuneCodestringSubtel commune codeN(CL),N/A(JM,CR,PR,PA){
"name": "subtelCommuneCode",
"valueType": "string",
"value": "xxxx"
}
codigoLocSubtelstringlocation code assigned by SubtelN(CL),N/A(JM,CR,PR,PA){
"name": "codigoLocSubtel",
"valueType": "string",
"value": "xxxx"
}
NetworkTypestringNetwork TypeN(PR),N/A(JM,CR,CL,PA){
"name": "NetworkType",
"value": "FIBER"
}
InternetSourcestringSource of InternetN(PR),N/A(JM,CR,CL,PA){
"name": "InternetSource",
"value": "U"
}
PoleNumberstringPole NumberN(PR),N/A(JM,CR,CL,PA){
"name": "PoleNumber",
"value": ""
}
VertexCodestringVertex CodeN(PR),N/A(JM,CR,CL,PA){
"name": "VertexCode",
"value": ""
}
BusinessUnitstringBusiness UnitN(PR),N/A(JM,CR,CL,PA){
"name": "BusinessUnit",
"value": ""
}
serviceQualificationItem[].service.place[].GeographicAddress[]
@typetypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
GeographicAddressstringGeographic AddressY(PA),N/A(CL,PR,CR,JM){
"id": "PA-17PPK6394593612",
"@type": "GeographicAddress"
}
serviceQualificationItem[].service.place[]
geographicLocationRefOrValue.geometry[].@typetypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
GeographicLocationstringGeographic Location(latitude and longitude)N(CL,PR),N/A(CR,JM,PA){
"geometry": [
{
"x": "18.992534",
"y": "66.268446"
}],
"@type": "GeographicLocation"
}
serviceQualificationItem[].service.place[].geographicSubAddress[]
nametypedescriptionrequired(mandatory-Y, optional-N, Not applicable- N/A)examples
SUR AUSTRALstringName of territoryN(CL),N/A(CR,JM,PR,PA){
"id": "TE12",
"type": "territory",
"name": "SUR AUSTRAL",
"@type": "GeographicSubAddress"
}
Zona SurstringName of zoneN(CL),N/A(CR,JM,PR,PA){
"id": "Zona Sur",
"type": "zone",
"name": "Zona Sur",
"@type": "GeographicSubAddress"
}

Key Consideration:

This API is available for all five BUs (JM, PA, CR, PR,CL ). Below are the common key points:
  1. API expects the below-mentioned query parametersoffset, limit, searchCriteria
  2. Example for queryParam searchCriteria object,

    {
    
    "id": "9090",
    "streetNr": "225",
    "streetName": "Strathmore",
    "postcode": "5004",
    "locality": "Brighton",
    "city": "Brighton",
    "stateOrProvince": "SA",
    "country": "Australia",
    "latitude": "1.430937",
    "longitude": "43.597208"
    }
  3. SouthBound Systems For Jamaica, Panama and Costa Rica, ArcGIS is providing serviceability information. For LCPR, Marvin DB is providing serviceability information. For Chile, Siebel is providing serviceability information.
  4. In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name” represents access technology type like (FTTX, HFC, CU).
For Jamaica
  1. For Jamaica, only latitude and longitude are expected from the front end. Mule API will throw an error if these details are missing.

searchCriteria = {

"latitude": "10.03",
"longitude":"84.04"

}

URL encoded: searchCriteria= %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0A

  1. Service qualification response may have multiple service qualification items (serviceQualificationItem[]) based on polygons returned by ArcGIS (sorted by access technology priority (FTTX, HFC, CU) and address class priority).
  2. In HFC, network mode can be FUDIG, ANDIG and ANALO.
  3. In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name =” priority” represents priority of polygon.FTTX = priority 1

HFC = priority 2

Copper/CU = priority 3

  1. As we are not getting commercial status, plant capacity and return type(Full-duplex and half-duplex), we are assuming that

a. All addresses are commercially available.

b. Node has capacity available to serve location.

c. VOD (video on demand) may not be available for some locations, but we will not be able to tell customers as this info does not exist in GIS in Jamaica.

  1. In response, if all serviceQualificationItem have the same priority polygons with the same address class, priority will be given to the polygon that appears at the first index in the array.
  2. In response, if serviceQualificationItem[] is an empty array means no polygon coverage for requested longitude and latitude hence no serviceability.
  3. In response, if “serviceQualificationItem/service/feature/featureCharacteristic[x]/name” =”node_status” and “serviceQualificationItem/service/feature/featureCharacteristic[x]/value”=”E” location is serviceable. If “value” is “P” or “U”, location i s not serviceable.
  4. If response has only one serviceability object with priority 3 and serviceQualificationItem/service/feature/featureCharacteristic/name = CU then location is not serviceable.
  5. If response has only one serviceability object with serviceQualificationItem/service/feature/featureCharacteristic/name =HFC and serviceQualificationItem/service/feature/featureCharacteristic[x]/name = "netModeHfc" and value = "ANALO" then location is not serviceable.
For Panama
  1. For Panama, only latitude and longitude are expected from the front end. Mule API will throw an error if these details are missing.

    searchCriteria =

    {
    "latitude": "10.03",
    "longitude":"84.04"
    }

    URL encoded: searchCriteria= %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0A

  2. Service qualification response may have multiple service qualification items (serviceQualificationItem[]) based on polygons returned by ArcGIS (sorted by access technology priority (FTTX, HFC).
  3. In HFC, network mode is FUDIG only for Panama.
  4. As we are not getting commercial status, plant capacity and return type(Full-duplex and half-duplex), we are assuming that a. All addresses are commercially available. b. Node has capacity available to serve location. c. VOD (video on demand) may not be available for some locations, but we will not be able to tell customers as this info does not exist in GIS.
  5. In response, if all serviceQualificationItem have the same priority polygons, priority will be given to the polygon that appears at the first index in the array.
  6. In response, if serviceQualificationItem[] is an empty array means no polygon coverage for requested longitude and latitude hence no serviceability.
  7. In response, when serviceQualificationItem[].service.serviceCharacteristic[].name = feat_type, the value will be service for serviceability and address for addressability.
  8. For addressability, the OneID retrieved from ArcGIS is mapped to serviceQualificationItem[].service.place[].GeographicAddress[].id. If the OneID is not available, the API returns an empty string for OneID field.
  9. For addressability enhancement, the date-format is updated to include offset (example: 2026-01-06T16:22:54.210-05:00).
For CostaRica
  1. In Costa Rica, the ArcGIS system expects Latitude and Longitude value for serviceability. API will throw an error if Lat and Long are missing in the request.

searchCriteria = {

"latitude": "10.03",
"longitude":"84.04"

}

URL encoded: searchCriteria= %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0A

  1. Service qualification response may have multiple service qualification items (serviceQualificationItem[]) based on polygons returned by ArcGIS (sorted by access technology priority (FTTH, HFC) and address class priority).
  2. In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name” represents access technology type FTTH or HFC.
  3. In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name =” priority” represents priority of polygon. • Fiber – priority 1• HFC (address class =” Metro”) - priority 2• HFC (address class =” Rural”) - priority 3
  4. In response, field “serviceQualificationItem/service/feature/featureCharacteristic/name =” addressClass” represents the below mentioned polygon address class. • Metro• Rural
  5. In response, if all serviceQualificationItem have the same priority polygons with the same address class, priority will be given to the polygon that appears at the first index in the array.
  6. In response, if all serviceQualificationItem objects have the same priority (overlapping HFC polygons), but the address class has a different value (Metro or Rural ), then priority will be based on the address class.
  7. In response, if serviceQualificationItem[] is an empty array means no polygon coverage for requested longitude and latitude hence no serviceability.
For Chile
  1. For Chile, the searchCriteria query param value will be JSON object with URL encoding#Example:

searchCriteria= { "latitude": "10.03", "longitude":"84.04"}

URL encoded: %7B%0A%09%22latitude%22%3A%20%2210.03%22%2C%0A%09%22longitude%22%3A%2284.04%22%0A%7D%0ANote:

In case of missing query param or longitude and latitude or Id, API will throw an error.

The MuleSoft API response will have a maximum number of 100 queryServiceQualification objects, sorted by GIS_ID (place.id) for requested latitude and longitude values. 100 records restriction is from the Siebel side and is configurable.

In BSS, there may be more than 100 records corresponding to the requested latitude and longitude value. For getting the rest of the available records, the front end needs to set the offset value as 101 and hit the API again with the same payload. If the total number of records is less than 100 means no more records are available in BSS.For example, if Siebel finds 120 records for requested latitude and longitude for the first get call (Initial offset value is 1), the API will return the first 100 queryServiceQualification objects.

- If the offset is 21, the API will return the last 100 records.
- If the offset 11, the API will return the records from 11th to 110.
  1. Custom response header “x-result-count” returns the number of items returned in the response body. It can be used to set offset value for iterative API call.
  2. If no offset is sent by the front end, then the default Offset value is 1.
  3. In the API response, the field “serviceQualificationItem.service.place.id” returns GIS House ID for the house. House id is mandatory for customer registration..
  4. In API response, field serviceQualificationItem/service/serviceType represents the services available for installation. If serviceType=” null” means no service available on a given address hence no serviceability. Other possible values are,

resources/image-b212dcd2-c050-44c8-a7cb-05464335c7cf.png

Please Note:

. Voice –No standalone Voice sell in Ecomm (almost zero sales so out of scope).

Internet – No standalone internet sell in Ecomm.

if the location has 3PLAY customer can have any combination for 2PLAY or 1PLAY.

  1. In response, field “serviceQualificationItem.service.feature.name” returns Network type/technology type: FTTH or HFC and is required for serviceability decision.
  2. In response, field serviceQualificationItem.service. feature. feature Characteristic. name =”returnType” represents the mode of transmission. This field needs to be considered if feature.name=HFC. This field doesn’t impact serviceability but impacts user experience.
  3. If returnType value =”FULLDUPLEX”, the customer can enjoy VOD (video on demand). VOD is free of charge and included for free for all customers those lives in a place where the network is a fullduplex.
  4. If returnType value =”HALFDUPLEX”, the customer can not enjoy VOD (video on demand).
  5. In API response if field “serviceQualificationItem.service.serviceCharacteristic.name =” comercialStatus” and value = “N” It means no serviceability.
  6. In the API response, if the field “serviceQualificationItem.service.serviceCharacteristic.name =”addressStatus” and value = “INACTIVE” means the address is invalid hence no serviceability..
  7. In the API response, if field serviceQualificationItem.service.serviceCharacteristic.name ="isNodeCapacityFull" and Value =” Y” then it means Node is not able to serve any new address hence no serviceability.
  8. In the API response, if field serviceQualificationItem.service.feature.name = “HFC” and serviceQualificationItem.service.serviceCharacteristic.name="networkMode" and Value = “ANALO” Or “ANPRE” OR “SINRE” then as per business there will be no TV offer available in hybris for customer hence no serviceability and customer must be redirected to “Click to Call”This rule is not applicable to FTTH.
  9. Please find below table for Serviceability summery

resources/image-79d17aa3-577c-4d14-983e-d256c7b7ed1d.png

For Puerto Rico
  1. In Puerto Rico, the local Marvin DB (copy of CSG DB) system expects a unique House ID to provide Services available on that specific house. API will throw an error if House ID is missing in the request.

Example:

searchCriteria = {"id": "662423423"}

The value will be JSON object with URL encoding.

  1. Service availability response may have multiple service available items based on Local Marvin DB and sorted by access technology like TV/VOICE/INTERNET/1GB_OFFER.
  2. As Puerto Rico eCom's requirement is to check only 4 services on an address, API will return the status of the services.
  3. Technology details, ‘FTTH or COAX’ has been added in response and eCom can consider it if there is any requirement, while these are not available in Marvin DB in all the records.
  4. attribute "startMode" will define about the location is self install or not and possiable values of "startMode" are 1) selfInstallEnabled - Location eligable to self install2) selfInstallDisabled - Location not-eligable to self install3) unknown - location would be new or techinicain not visited.

Reviews